package cn.teduymdj.jxc.service;



import cn.teduymdj.jxc.pojo.dto.CustomerAddNewDTO;
import cn.teduymdj.jxc.pojo.dto.CustomerUpdateDTO;
import cn.teduymdj.jxc.pojo.entity.Customer;
import cn.teduymdj.jxc.pojo.vo.CustomerListItemVO;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;
/**
 * 客户service接口
 *刘校权
 */

@Transactional
public interface CustomerService {
	
	/**
	 * 根据客户ID查询客户信息
	 * @param customerId 客户ID
	 * @return 客户信息实体
	 */
	public Customer getCustomerById(Long customerId);
	
	/**
	 * 分页查询客户信息
	 * @param page 当前页数
	 * @param pageSize 每页显示条数
	 * @param customerName 客户名模糊查询条件
	 * @return 客户信息集合
	 */
	public List<CustomerListItemVO> getCustomerList(Integer page,Integer pageSize,String customerName);
	
	/**
	 * 查询客户数量
	 * @param customerName 客户名模糊查询条件
	 * @return 数量
	 */
	public Long getCustomerCount(String customerName);
	
	/**
	 * 保存客户信息
	 * @param customer 客户实体
	 */
	public void saveCustomer(CustomerAddNewDTO customer);

	/**
	 * 修改客户信息
	 * @param customer 客户实体
	 */
	public void updateCustomer(CustomerUpdateDTO customer);
	
	/**
	 * 删除客户信息
	 * @param id  客户id
	 */
	public void deleteCustomer(Long id);
	
	/**
	 * 查询供应商下拉列表数据
	 * @return
	 */
	public List<String> getComboboxList();
}
